package org.groupg.mockdatabyspring.morkdata.service.interfaces;

import org.groupg.mockdatabyspring.morkdata.model.ITTaskInfo;
import org.groupg.mockdatabyspring.morkdata.model.InTaskInfo;
import org.groupg.mockdatabyspring.system.model.ResultBody;

/**
 * 创建转化器的接口方法
 */
public interface ICreateService<T> {

    /**
     * 处理参数，根据不同数据处理呈不同结果
     *
     * @param itTaskInfo 外部接口对象
     * @return 内部相关对象
     */
    InTaskInfo coverParam(ITTaskInfo itTaskInfo);

    /**
     * 根据转化器创建结果
     *
     * @param itTaskInfo 外部接口对象
     */
    void createResult(ITTaskInfo itTaskInfo);

    /**
     * 根据转化器创建返回请求
     *
     * @param itTaskInfo 外部接口对象
     * @return {@link ResultBody} 请求返回对象
     */
    ResultBody createRequest(ITTaskInfo itTaskInfo);

}
